﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace ServerVideoChat
{
    [ServiceContract(CallbackContract=typeof(IVideoChatCallback))]
    public interface IServiceVideoChat
    {
        #region Simple chat methods
        [OperationContract(IsOneWay=true)]
        void Join(string userName, string machineName, string softwareVersion);

        [OperationContract(IsOneWay = true)]
        void Leave();

        [OperationContract(IsOneWay = true)]
        void GetActiveClientList();

        [OperationContract(IsOneWay = true)]
        void PingRequest();
        #endregion
    }

    public interface IVideoChatCallback
    {
        #region Simple chat methods
        [OperationContract(IsOneWay = true)]
        void ActiveClientList(string[] clientsName);   
    
        [OperationContract(IsOneWay = true)]   
        void UserJoin(string userName);  
     
        [OperationContract(IsOneWay = true)]
        void UserLeave(string userName);

        [OperationContract(IsOneWay = true)]
        void Ping();
        #endregion
    }  
}
